Enhanced browser navigation

ABSTRACT

A method is provided for processing a Web page for display on a device in communication with a server when the Web page is selected by a user clicking on a hyperlink. The method comprises the following steps. Text associated with a link label of the hyperlink is stored. The stored text is used to identify a relevant portion of the Web page that is desired by the user. At least a portion of a Web page identified by a link destination of the hyperlink is retrieved. The relevant portion of the Web page is presented to the user. A computer readable medium comprising instructions for executing the method and a computing device configured to execute the instructions are also provided.

The present disclosure relates generally to browsers and specifically toa method for providing enhanced browser navigation.

BACKGROUND

Proliferation of the Internet has led to a wide spread use of Internetor Web browsers configured to readily access information and present itto a user. As technology improves, browsers are being made available onan increasing number of devices including, for example, Internet-basedappliances, in-vehicle navigation systems, and mobile devices, such ascell phones and portable digital assistants (PDAs), and the like.

Browsers allow users to navigate to a Web site by entering a UniformResource Locater (URL) associated with a Web page. Alternatively, usersmay be directed to a Web page by clicking on a hyperlink. When the userclicks on the hyperlink, the user is automatically directed to the Webpage.

When clicking on a hyperlink for a given section, the user typicallywishes to be directed immediately to that section or frame when the newWeb page is loaded. Often the new Web page will include a number ofheader images and frames.

If the user is using the browser on a typically sized notebook orpersonal computer display, the desired section is usually displayedright away. However, if the user is using the browser on a device havinga limited screen size, such as a mobile device, or if the page size islarge, this is not necessarily the case. Rather, header images andframes loaded by the browsers may be displayed to the user ahead of thedesired information. Accordingly, depending on the number of images andframes, as well as their configuration, users may have to scroll down asignificant amount before reaching the desired section.

Accordingly, it can be seen that there is a need for solution that helpsusers of devices having a limited screen size, or users retrieving largepages, reduce the amount of scrolling that is required to reach adesired section of a Web page.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will now be described by way of example only with referenceto the following drawings in which:

FIG. 1 is a diagram illustration a typical telecommunicationinfrastructure;

FIG. 2 is a block diagram of a mobile device;

FIG. 3 is a flow diagram illustrating the steps for displaying a webpage in accordance with an embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In accordance with one embodiment there is provided a method forprocessing a Web page for display on a device in communication with aserver when the Web page is selected by a user clicking on a hyperlink,the method comprising the steps of: storing text associated with a linklabel of the hyperlink; retrieving at least a portion of a Web pageidentified by a link destination of the hyperlink; using the stored textto identify a relevant portion of the Web page that is desired by theuser; and presenting the relevant portion of the Web page to the user.

In accordance with another embodiment there is provided a computerreadable medium comprising instructions for execution on a computingdevice when a Web page is selected by a user clicking on a hyperlink,the instructions causing the computing device to implement the steps of:storing text associated with a link label of the hyperlink; retrievingthe Web page identified by a link destination of the hyperlink; usingthe stored text to identify a relevant portion of the Web page that isdesired by the user; and presenting the relevant portion of the Web pageto the user.

In accordance with another embodiment there is provided a computingdevice configured to retrieve a Web page in response to a user clickingon a hyperlink, the computing device including memory configured tostore applications and data, and a processor configured to implement thesteps of: storing text associated with a link label of the hyperlink;retrieving the Web page identified by a link destination of thehyperlink; using the stored text to identify a relevant portion of theWeb page that is desired by the user; and presenting the relevantportion of the retrieved Web page to the user.

For convenience, like numerals in the description refer to likestructures in the drawings. Referring to FIG. 1, a typicaltelecommunication infrastructure is illustrated generally by numeral100. The telecommunication infrastructure 100 includes a plurality ofmobile devices 102, a plurality of base stations 104, a communicationnetwork 106 and a plurality of network servers 108.

The mobile devices 102 include wireless computing devices such as asmart phone, a personal digital assistant (PDA) and the like. The mobiledevices 102 are in communication with one of the base stations 104. Thebase stations 104 relay data between the mobile devices 102 and thenetwork servers 108 via the communication network 106. Accordingly, thecommunication network 106 may include several components such as awireless network, a relay, a corporate server and/or a mobile dataserver for relaying data between the base stations 104 and the networkservers 108. The network servers 108 include servers such as a Webserver, an application server, and an application server with webservices.

It will be appreciated by a person of ordinary skill in the art that thetelecommunication infrastructure 100 described herein is exemplary andthat changes may be made to one or more components to accommodatedifferent network configurations without affecting the scope of theinvention described and claimed herein. Further, although the presentdescription specifically recites a mobile device 102, it will beappreciated that other types of devices, including both wired andwireless devices, may similarly be employed.

Referring to FIG. 2, the mobile device 102 is illustrated in greaterdetail. The mobile device 102 is often a two-way communication devicehaving both voice and data communication capabilities, including thecapability to communicate with other computer systems. Depending on thefunctionality provided by the mobile device 102, it may be referred toas a data messaging device, a two-way pager, a cellular telephone withdata messaging capabilities, a wireless Internet appliance, or a datacommunication device.

The mobile device 102 includes a communication subsystem 211, whichincludes a receiver 212, a transmitter 214, and associated components,such as one or more embedded or internal antenna elements 216 and 218,local oscillators (LOs) 213, and a processing module such as a digitalsignal processor (DSP) 220. As will be apparent to those skilled infield of communications, the particular design of the communicationsubsystem 211 depends on the communication network in which mobiledevice 102 is intended to operate.

The mobile device 102 includes a microprocessor 238 which controlsgeneral operation of the mobile device 102. The microprocessor 238 alsointeracts with additional device subsystems such as a display 222, aflash memory 224, a random access memory (RAM) 226, auxiliaryinput/output (I/O) subsystems 228, a serial port 230, a keyboard 232, aspeaker 234, a microphone 236, a short-range communications subsystem240 such as Bluetooth™ for example, and any other device subsystems orperipheral devices generally designated at 242. The mobile device 102may also include a positioning device 244, such as a GPS receiver forexample, for receiving positioning information.

Operating system software used by the microprocessor 238 is preferablystored in a persistent store such as the flash memory 224, which mayalternatively be a read-only memory (ROM) or similar storage element(not shown). Those skilled in the art will appreciate that the operatingsystem, specific device applications, or parts thereof, may betemporarily loaded into a volatile store such as RAM 226.

The microprocessor 238, in addition to its operating system functions,preferably enables execution of software applications on the mobiledevice 102. A predetermined set of applications, which control basicdevice operations, is installed on the mobile device 102 during itsmanufacture. These basic operations typically include data and voicecommunication applications, for example. Additionally, applications mayalso be loaded onto the mobile device 102 through the network 106, anauxiliary I/O subsystem 228, serial port 230, short-range communicationssubsystem 240, or any other suitable subsystem 242, and installed by auser in RAM 226, or preferably the persistent store 224, for executionby the microprocessor 238. Such flexibility in application installationincreases the functionality of the mobile device 102 and may provideenhanced on-device features, communication-related features, or both.

The display 222 is used to visually present an application's graphicaluser interface (GUI) to the user. The user can manipulate applicationdata by modifying information on the GUI using an input device such asthe keyboard 232 for example. Depending on the type of mobile device102, the user may have access to other types of input devices, such as,for example, a scroll wheel, trackball, light pen or touch sensitivescreen.

In accordance with the present embodiment, a link application isinstalled on the mobile device 102. The link application can beimplemented as a standalone, or plug-in, application that interfaceswith a pre-existing browser, or it's functionality can be incorporatedinto the browser itself, as will be appreciated by a person of ordinaryskill in the art. Further, as will be appreciated from the followingdescription, the link application improves the likelihood that a user ofthe mobile device 102 will be presented with the desired portion of aWeb page after selecting the Web page using a hyperlink. In the presentembodiment, the hyperlink clicked by the user is a hypertext element.

As is known in the art, a typical Hypertext Mark-up Language (HTML)hyperlink element is specified using the anchor, or <a>, element. Theanchor element includes several attributes including, for example, alink destination, link label, link title, link target, and link class orlink identifier. The anchor element takes the form:

-   -   <a href=“URL” title=“link title” target=“link target”        class=“link class”>link label</a>

The link destination is identified by the URL pointed to by href. Thelink label is the anchor text of the hyperlink that is visible to theuser. For example, consider a simple Web page in which a hyperlink isprovided to another Web page.

-   -   <a href=“http://www.rim.com/”>Research in Motion</a>

The link destination, http://www.rim.com/, identifies the target Webpage addressed by the hyperlink. The link label, Research in Motion,identifies the “clickable” text that is visible to the user.Accordingly, if the user clicks on the text of the link label, Researchin Motion, the user is directed to the address, http://www.rim.com,defined by the link destination. It will be appreciated that the examplegiven is a simple example for illustrative purpose only.

Referring to FIG. 3, a flow chart illustrating the operation of the linkapplication is shown generally by numeral 300. At step 302, the userclicks on a hyperlink to a Web page. The hyperlink clicked by the usercan be found in a number of different sources, including, for example,an e-mail, an electronic document, or a Web page, as will be appreciatedby a person skilled in the art.

At step 304, the link application processes the hyperlink. Specifically,at step 304 a, the link application stores the link label of thehyperlink.

At step 304 b, the browser processes the hyperlink as is standard in theart. During this step the Web page defined by the link destination ofthe hyperlink is retrieved for display to the user. As will beappreciated by a person skilled in the art, how the Web page ispresented depends on a number of factors, including attributes of theanchor element, all of which can be implemented using known orproprietary methods.

At step 304 c, once the Web page has been retrieved, the linkapplication searches the text of the retrieved Web page for a match tothe link label. In one implementation, the link application searches thetext of the retrieved Web page for an exact match to the link label.However, it will be appreciated that the text in the retrieved Web pagemay not match exactly with the link label. Accordingly, in anotherimplementation, the link application searches the text of the retrievedWeb page for a partial match to the link label. In this implementation,the link application can be configured to consider the closest matchingtext as a match to the link label. Alternatively, if the relevancy ofthe closest matching text does not meet a predefined threshold, the linkapplication can be configured to consider there to be no matching text.

If a match is not found, the link application continues to step 304 d.At step 304 d the retrieved Web page is displayed as is standard in theart and the stored link label is erased.

If a match is found, the link application continues to step 304 e. Atstep 304 e, the retrieved Web page is displayed to the user such thatthe matching text begins near the top of the display when the retrievedWeb page is displayed to the user. In the present embodiment, this isachieved by automatically scrolling the Web page to the matching text.The Web page may be scrolled to the matching text prior to displayingthe Web page, while displaying the Web page, or after displaying the Webpage. The stored link label is erased as it is no longer required.

Accordingly it will be appreciated that when the link label matches textin the retrieved Web page, the Web page can be automatically scrolled tothe proper position even before the Web page is displayed to the user.

Consider the following example. The user logs on to CNN's Web site atwww.cnn.com. The user scrolls to the “Latest News” section. At step 302,the user clicks on a news story identified by the headline “Senatorswary of ‘amnesty’ in Iraq plan”, which is a hypertext element.

At step 304 a, the link application stores the text “Senators wary of‘amnesty’ in Iraq plan” of the link label. At step 304 b, the browserprocesses the request for the Web page associated with the linkdestination of the hypertext element and retrieves the Web page fordisplay.

At step 304 c, the link application searches the text of the retrievedWeb page for the text “Senators wary of ‘amnesty’ in Iraq plan”. Sincethe headline of the story is often included as the first line of thestory on the retrieved Web page, it is likely that a match will befound. Accordingly, at step 304 e, the link application automaticallyscrolls the retrieved Web page so that the text “Senators wary of‘amnesty’ in Iraq plan” is at the top of the screen when the Web page isdisplayed to the user.

The link application can be configured to be either enabled or disabled.For example, browser options may be configured to allow the user toselect whether or not the link application will be active.Alternatively, the link application may be enabled by the useractivating a hot key when the Web page is loading. In this example, thelink application stores the link label in case the user activates thehot key. If the hot key is activated, the link application displays theWeb page as described with reference to FIG. 3. If the hot key is notactivated the Web page is displayed as is standard in the art.

In the embodiment described above, relevant information on the Web pageis displayed to the user by automatically scrolling to the textidentified by the link label. In an alternate embodiment, once a correctframe is identified by the link application, rather than automaticallyscrolling to the correct frame, the remaining frames are discarded.Discarding the remaining frames will have a similar effect toautomatically scrolling the screen, since it will display the relevantinformation at or near the top of the screen. However, in the presentembodiment, the user will not have access to the discarded frames.

Alternatively, rather than discard the frames that are not identified ascontaining the relevant text, the irrelevant frames are simply ignoredby the link application. In this embodiment the user is given the optionof displaying the entire Web page, including the “irrelevant” frames ifthe user so desires. This feature may be facilitated by providing theuser with a hot key or menu option. Therefore, if the link applicationerrs in determining the relevant frame, the user can still choose to bepresented with the entire Web page, without having to retrieve it again.

In yet an alternate embodiment, the server 108 is configured toimplement the link application as well as the mobile device 102. In thisembodiment, the link application executing on the device sends the linklabel to the server 108 along with the link destination in the requestfor the Web page. Once the server 108 has retrieved the Web page, thelink application executing on the server 108 determines which of theframes in the retrieved Web page includes the text identified by thelink label. Once the appropriate frame is identified, the linkapplication executing on the server 108 determines which of the framesto return the mobile device 102. In the present embodiment only theframe including the relevant information is returned. In an alternateembodiment, a plurality of frames are returned if, for example, the linklabel matches text in a plurality of frames. In yet an alternateembodiment, any number of the frames are transmitted to the device 102,however the frames are reordered by the server so that the most relevantframes are sent first.

Although the description relates specifically to mobile devices having alimited screen size, it will be readily apparent to a person of ordinaryskill in the art that the same may be applied to a notebook or desktopcomputer for facilitating large pages. Accordingly, although theinvention has been described with reference to certain specificembodiments, various modifications thereof will be apparent to thoseskilled in the art without departing from the scope of the invention asdefined by the appended claims.

1) A method for processing a Web page addressed by a link destination ofa hyperlink selected at a device, the method comprising the steps of:storing text associated with a link label of the hyperlink; retrievingat least a portion of the Web page; and identifying a relevant portionof the Web page using the stored text. 2) The method of claim 1, furthercomprising presenting a beginning of the relevant portion on a displayof the device. 3) The method of claim 2, wherein the step of presentingthe relevant portion comprises presenting the Web page and automaticallyscrolling the Web page until the beginning of the relevant portion ispresented. 4) The method of claim 2, wherein the step of presenting therelevant portion comprises presenting the Web page starting at thebeginning of the relevant portion, without scrolling the Web page. 5)The method of claim 2, wherein the step of presenting the relevantportion comprises presenting only a frame of the Web page that includesthe relevant portion. 6) The method of claim 1 wherein the step ofidentifying the relevant portion comprises identifying a portion of theWeb page containing text that includes a match with the stored text, ifthe Web page includes a match with the stored text. 7) The method ofclaim 6 wherein the step of identifying the relevant portion comprisesidentifying the beginning of the Web page if the Web page does notinclude a match with the stored text. 8) The method of claim 6, whereinthe match is a partial match. 9) The method of claim 8, wherein thepartial match exceeds a predefined relevance threshold. 10) The methodof claim 2, further comprising presenting the beginning of the Web pagein response to a predetermined signal. 11) The method of claim 10,wherein the predetermined signal is activation of a hotkey. 12) Themethod of claim 1, wherein the step of identifying the relevant portionof the Web page is performed by a server in communication with thedevice. 13) The method of claim 12, wherein the server reorders framesin the Web page in accordance with the relevant portion. 14) The methodof claim 12, wherein the server transmits to the device only a framecontaining the relevant portion of the Web page. 15) The method of claim12 wherein the server transmits to the device only the relevant portionof the Web page. 16) A computer readable medium comprising instructionsfor execution on a computing device for processing a Web page addressedby a hyperlink selected at the computing device, the instructionscausing the computing device to implement the steps of: storing textassociated with a link label of the hyperlink; retrieving the Web pageaddressed by a link destination of the hyperlink; and identifying arelevant portion of the Web page using the stored text. 17) The computerreadable medium of claim 16, comprising further instructions forpresenting a beginning of the relevant portion on a display of thedevice. 18) The computer readable medium of claim 16, whereinidentifying the relevant portion of the Web page comprises identifying aportion of the Web page containing text that includes a match with thestored text. 19) The computer readable medium of claim 18, wherein thematch is a partial match. 20) The computer readable medium of claim 19,wherein the partial match exceeds a predefined relevance threshold. 21)The computer readable medium of claim 17, wherein the step of presentingthe relevant portion comprises presenting the Web page and automaticallyscrolling until the beginning of the relevant portion is presented. 22)The computer readable medium of claim 17, wherein the step of presentingthe relevant portion comprises presenting the Web page starting at therelevant portion, without scrolling. 23) The computer readable medium ofclaim 17, wherein the step of presenting the relevant portion comprisespresenting only a frame of the Web page that includes the relevantportion. 24) A computing device configured to process a Web pageaddressed by a hyperlink selected at the computing device, the computingdevice including a display, memory configured to store applications anddata, and a processor configured to implement the steps of: storing textassociated with a link label of the hyperlink; retrieving the Web pageaddressed by a link destination of the hyperlink; and identifying arelevant portion of the Web page using the stored text, the relevantportion for presentation on the display.